package com.baizhi.cmfz.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;

import java.io.Serializable;
import java.util.Date;

public class User implements Serializable {
    private static final long serialVersionUID = -8598008841256978678L;
    /**
     * 用户id
     */
    private Integer userId;

    /**
     * 用户手机号
     */
    @JsonIgnore
    private String userTelphone;

    /**
     * 用户密码
     */
    @JsonIgnore
    private String userPassword;

    /**
     * 用户头像
     */
    private String userImage;

    /**
     * 用户法号
     */
    private String userNickname;

    /**
     * 用户名
     */
    private String userName;

    /**
     * 用户性别
     */
    private String userSex;

    /**
     * 个性签名
     */
    private String userAutograph;

    /**
     * 用户省份
     */
    private String userProvince;

    /**
     * 用户城市
     */
    private String userCity;

    /**
     * 关注上师id
     */
    private Integer guruId;

    /**
     * 用户状态
     */
    private Integer userStatus;

    /**
     * 用户创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date userCreateDate;

    public User() {}

    public Integer getUserId() {return this.userId;}

    public String getUserTelphone() {return this.userTelphone;}

    public String getUserPassword() {return this.userPassword;}

    public String getUserImage() {return this.userImage;}

    public String getUserNickname() {return this.userNickname;}

    public String getUserName() {return this.userName;}

    public String getUserSex() {return this.userSex;}

    public String getUserAutograph() {return this.userAutograph;}

    public String getUserProvince() {return this.userProvince;}

    public String getUserCity() {return this.userCity;}

    public Integer getGuruId() {return this.guruId;}

    public Integer getUserStatus() {return this.userStatus;}

    public Date getUserCreateDate() {return this.userCreateDate;}

    public void setUserId(Integer userId) {this.userId = userId; }

    public void setUserTelphone(String userTelphone) {this.userTelphone = userTelphone; }

    public void setUserPassword(String userPassword) {this.userPassword = userPassword; }

    public void setUserImage(String userImage) {this.userImage = userImage; }

    public void setUserNickname(String userNickname) {this.userNickname = userNickname; }

    public void setUserName(String userName) {this.userName = userName; }

    public void setUserSex(String userSex) {this.userSex = userSex; }

    public void setUserAutograph(String userAutograph) {this.userAutograph = userAutograph; }

    public void setUserProvince(String userProvince) {this.userProvince = userProvince; }

    public void setUserCity(String userCity) {this.userCity = userCity; }

    public void setGuruId(Integer guruId) {this.guruId = guruId; }

    public void setUserStatus(Integer userStatus) {this.userStatus = userStatus; }

    public void setUserCreateDate(Date userCreateDate) {this.userCreateDate = userCreateDate; }

    public boolean equals(final Object o) {
        if (o == this) return true;
        if (!(o instanceof User)) return false;
        final User other = (User) o;
        if (!other.canEqual((Object) this)) return false;
        final Object this$userId = this.getUserId();
        final Object other$userId = other.getUserId();
        if (this$userId == null ? other$userId != null : !this$userId.equals(other$userId)) return false;
        final Object this$userTelphone = this.getUserTelphone();
        final Object other$userTelphone = other.getUserTelphone();
        if (this$userTelphone == null ? other$userTelphone != null : !this$userTelphone.equals(other$userTelphone))
            return false;
        final Object this$userPassword = this.getUserPassword();
        final Object other$userPassword = other.getUserPassword();
        if (this$userPassword == null ? other$userPassword != null : !this$userPassword.equals(other$userPassword))
            return false;
        final Object this$userImage = this.getUserImage();
        final Object other$userImage = other.getUserImage();
        if (this$userImage == null ? other$userImage != null : !this$userImage.equals(other$userImage)) return false;
        final Object this$userNickname = this.getUserNickname();
        final Object other$userNickname = other.getUserNickname();
        if (this$userNickname == null ? other$userNickname != null : !this$userNickname.equals(other$userNickname))
            return false;
        final Object this$userName = this.getUserName();
        final Object other$userName = other.getUserName();
        if (this$userName == null ? other$userName != null : !this$userName.equals(other$userName)) return false;
        final Object this$userSex = this.getUserSex();
        final Object other$userSex = other.getUserSex();
        if (this$userSex == null ? other$userSex != null : !this$userSex.equals(other$userSex)) return false;
        final Object this$userAutograph = this.getUserAutograph();
        final Object other$userAutograph = other.getUserAutograph();
        if (this$userAutograph == null ? other$userAutograph != null : !this$userAutograph.equals(other$userAutograph))
            return false;
        final Object this$userProvince = this.getUserProvince();
        final Object other$userProvince = other.getUserProvince();
        if (this$userProvince == null ? other$userProvince != null : !this$userProvince.equals(other$userProvince))
            return false;
        final Object this$userCity = this.getUserCity();
        final Object other$userCity = other.getUserCity();
        if (this$userCity == null ? other$userCity != null : !this$userCity.equals(other$userCity)) return false;
        final Object this$guruId = this.getGuruId();
        final Object other$guruId = other.getGuruId();
        if (this$guruId == null ? other$guruId != null : !this$guruId.equals(other$guruId)) return false;
        final Object this$userStatus = this.getUserStatus();
        final Object other$userStatus = other.getUserStatus();
        if (this$userStatus == null ? other$userStatus != null : !this$userStatus.equals(other$userStatus))
            return false;
        final Object this$userCreateDate = this.getUserCreateDate();
        final Object other$userCreateDate = other.getUserCreateDate();
        if (this$userCreateDate == null ? other$userCreateDate != null : !this$userCreateDate.equals(other$userCreateDate))
            return false;
        return true;
    }

    protected boolean canEqual(final Object other) {return other instanceof User;}

    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $userId = this.getUserId();
        result = result * PRIME + ($userId == null ? 43 : $userId.hashCode());
        final Object $userTelphone = this.getUserTelphone();
        result = result * PRIME + ($userTelphone == null ? 43 : $userTelphone.hashCode());
        final Object $userPassword = this.getUserPassword();
        result = result * PRIME + ($userPassword == null ? 43 : $userPassword.hashCode());
        final Object $userImage = this.getUserImage();
        result = result * PRIME + ($userImage == null ? 43 : $userImage.hashCode());
        final Object $userNickname = this.getUserNickname();
        result = result * PRIME + ($userNickname == null ? 43 : $userNickname.hashCode());
        final Object $userName = this.getUserName();
        result = result * PRIME + ($userName == null ? 43 : $userName.hashCode());
        final Object $userSex = this.getUserSex();
        result = result * PRIME + ($userSex == null ? 43 : $userSex.hashCode());
        final Object $userAutograph = this.getUserAutograph();
        result = result * PRIME + ($userAutograph == null ? 43 : $userAutograph.hashCode());
        final Object $userProvince = this.getUserProvince();
        result = result * PRIME + ($userProvince == null ? 43 : $userProvince.hashCode());
        final Object $userCity = this.getUserCity();
        result = result * PRIME + ($userCity == null ? 43 : $userCity.hashCode());
        final Object $guruId = this.getGuruId();
        result = result * PRIME + ($guruId == null ? 43 : $guruId.hashCode());
        final Object $userStatus = this.getUserStatus();
        result = result * PRIME + ($userStatus == null ? 43 : $userStatus.hashCode());
        final Object $userCreateDate = this.getUserCreateDate();
        result = result * PRIME + ($userCreateDate == null ? 43 : $userCreateDate.hashCode());
        return result;
    }

    public String toString() {return "User(userId=" + this.getUserId() + ", userTelphone=" + this.getUserTelphone() + ", userPassword=" + this.getUserPassword() + ", userImage=" + this.getUserImage() + ", userNickname=" + this.getUserNickname() + ", userName=" + this.getUserName() + ", userSex=" + this.getUserSex() + ", userAutograph=" + this.getUserAutograph() + ", userProvince=" + this.getUserProvince() + ", userCity=" + this.getUserCity() + ", guruId=" + this.getGuruId() + ", userStatus=" + this.getUserStatus() + ", userCreateDate=" + this.getUserCreateDate() + ")";}
}

